-- 所有lua对象的基类

-- 模块定义
local M = 
{
    _base_class = nil,
    _class_name = "objects.Object"
};
setmetatable (M, {__index = _G;});
_ENV = M;

-- 引用模块
local Tools = require ("tools.CommonTools");

-- 方法定义
operation_table = {};

function operation_table.__tostring (self)
    return "i'm an object";
end;

function operation_table._get_base_method (self, method_name)
    return self._class_type._base_class.operation_table[method_name];
end;

-- 构造函数
function NewObject ()
    instance = {};
    Tools.PrepareInstance (M, instance);
    return instance;
end;

return M;
